home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / jvp.readme < prev    next >
Text File  |  1999-03-02  |  12KB  |  322 lines

  1. Short:    Amiga Visual Pascal *DEMO* v0.5
  2. Author:   Shirdash@www.dci.co.ir (Hossein Shirdashtzadeh)
  3. Uploader: Shirdash@www.dci.co.ir (Hossein Shirdashtzadeh)
  4. Type:     dev/lang
  5.  
  6. What is it?
  7. -----------
  8.  
  9.  "Jey Visual Pascal" or in short "JVP" is a developer tool for pascal 
  10. programmers from beginners to professionals. It helps you to create, program
  11. and handle gui very easily and neat. The idea is very close to that of visual
  12. programming tools and compilers on PeeSee's. Please note that this demo version
  13. is not as sophisticated as the visuals which let you program within the  
  14. JVP GUI Manager (JVPM), but if you and your friends send me mails or snails 
  15. supporting and encouraging me to continue I will complete it and make it as a 
  16. ShareWare.
  17.  
  18. Currently, I have not enough time (because i think it is a risk!) to
  19. document JVP in full. But as a very short compact manual here is the way you
  20. can program in JVP:
  21.  
  22. Compact Manual: 
  23. ---------------
  24.  Programming by JVP comprises of two parts (as other visuals), GUI (or
  25. Form) and the main code. 
  26.  
  27. JVP comes with a visual Gui creater called JVP Manager and a pascal unit
  28. (compiled for Kick/Maxon pascal) which is the main core of JVP.
  29.  
  30. At the moment I do not explain the JVP Manager and I feel it is self explainatory
  31. and playing with its gadgets you will find the way ;-)
  32.  
  33. But here I only write the main steps in the following:
  34.  
  35.     1- At first create a window by "Add Window" gadget.
  36.     2- Create a gadget by "Add Gadget".
  37.     3- Modify your window and gadgets at your desire.
  38.     4- Save the Gui to a file.(The default name is in the form of "*.mnu")
  39.     5- Save the Pascal to another file.(The default name is in the form 
  40.        of "*.p")
  41.  
  42.     Note:     This demo version let you create 3 windows at most and each window 
  43.         may have a maximum of 4 gadgets of any type.
  44.  
  45. Now your "form" or "Gui" is ready and you should program for it. You can modify
  46. the gui later if needed.
  47.  
  48. The Pascal source code generated for your gui is now ready to be compiled
  49. by Kick/Maxon compiler and running it, you will see your window and gadgets
  50. working! Now you should only fill up the spaces between "Begin" and "End"
  51. in the source code. All gadgets and windows are named automatically and
  52. easy to address by human. But if you try to modify the gui, will lose
  53. your manual codes currently, but if this software is supported by you, i
  54. will complete it so that your code remain unchanged. and even better i will
  55. provide a built in intelligent editor for editing the program. At the
  56. moment I explain more about the JVP pascal unit which let you program with
  57. more flexiblity.
  58.  
  59. Learning JVP Unit Step By Step:
  60. -------------------------------
  61.  
  62. Using the JVP unit you can program very easily and with the least pain:
  63. This unit will tackle the gui operations in whole and removes the complexity 
  64. of the Amiga OS commands in a pascal source code. e.g. when initialising the 
  65. gui, you need not to define too many variables, pointers and records and use 
  66. the os commands (i.e. intuition, diskfont, asl, ...) to setup the windows and 
  67. gadgets! But you only invoke the simple command below:
  68.  
  69.     LoadGUI(filename);
  70.  
  71. This simple command and all other JVP commands are defined in the JVP unit
  72. and is accessible when using it:  (Note: you should use JVP_DEMO for this 
  73. release version.)
  74.  
  75. ----- Sample Source code for JVP DEMO (1): -------------------------------
  76. Program    JeyVisualPascal;
  77.  
  78. Uses    JVP_DEMO;
  79.  
  80. begin
  81.     LoadGUI(filename);
  82. end.
  83. --------------------------------------------------------------------------
  84.  
  85. The "filename" contains the file name and the path of the gui file which
  86. has been created by JVP Manager. But compiling and runnig this program does
  87. nothing, because you have not said which window should be opened and what to do
  88. with them. Thus here you need to use the following command at least:
  89.  
  90.     Dummy:=InitGui(Window_Number);
  91.     or
  92.     if InitGui(Window_Number)<>nil then;
  93.  
  94. in which "Dummy" is a dummy pointer varible. As a matter of fact the returnd
  95. pointer ("Dummy") is a pointer to the opened window structure and if openning 
  96. the window is succesfull then it will be unequal to Nil. I can be used for those
  97. professionals who want to handle the window themselves! currently you need not
  98. to use it. "window_Number" is constant or variable in which you have put the 
  99. window number in the gui that you want to be opened.
  100.  
  101. For example you put Window_Number equal to 1:
  102.  
  103. ----- Sample Source code for JVP DEMO (2): -------------------------------
  104. Program    JeyVisualPascal;
  105.  
  106. Uses    JVP_DEMO;
  107.  
  108. const
  109.     Window_Number=1;
  110. Var
  111.     Dummy:Ptr;
  112. begin
  113.     LoadGUI(filename);
  114.     Dummy:=InitGui(Window_Number);
  115.     Delay(300);
  116. end.
  117. --------------------------------------------------------------------------
  118.  
  119. Now after compiling and running this program, you will see the first window
  120. of the gui opened with all gadgets initialised and ready to work!
  121.  
  122. I used the delay because the window will be closed automatically and exits
  123. the program. JVP unit will automatically close all windows and unloads the
  124. gui from the memory. Thus here you need not to worry about it, but when serious
  125. programming you will be noticed that closeing the gui's is vital.
  126.  
  127. Now let's give life to the gui!
  128.  
  129. After initialising a gui, you should use the following generic command to
  130. get the control of it:
  131.  
  132.     MenuID:=Get_Gui_ID(Window_Number,ID,WaitMode,OutString,OutReal);
  133.  
  134. in which:
  135.     Window_Number: 
  136.         It is the window number under request.
  137.  
  138.     ID:
  139.         The requested gadget identification number. (Please hold on,
  140.         I will explain it more later)
  141.  
  142.     WaitMode:
  143.         An integer which instructs the JVP how the command should be  
  144.         managed. It is a little long to speak here but again hold on, 
  145.         I will explain it more later ;)
  146.  
  147.     OutString:
  148.         A string type variable which is provided by you, and will be filled
  149.         by the Get_Gui_ID command according to the gadget type.(Hold on, I will
  150.         explain more later)
  151.  
  152.     OutReal:
  153.         A real type variable which is provided by you, and will be filled
  154.         by the Get_Gui_ID command according to the gadget type.(Hold on, I will
  155.         explain more later)
  156.  
  157.     MenuID: 
  158.         It is an integer which contains the pressed gadget number in the
  159.         requested window. (After running the Get_Gui_ID command)
  160.  
  161. I hope it look simple but if not see the example here:
  162.  
  163. ----- Sample Source code for JVP DEMO (3): -------------------------------
  164. Program    JeyVisualPascal;
  165.  
  166. Uses    JVP_DEMO;
  167.  
  168. const
  169.     Window_Number=1;
  170. Var
  171.     Dummy:Ptr;
  172.     OutString:String;
  173.     OutReal:real;
  174.     MenuID:integer;
  175. begin
  176.     LoadGUI(filename);
  177.     Dummy:=InitGui(Window_Number);
  178.  
  179.     MenuID:=Get_Gui_ID(Window_Number,0,1,OutString,OutReal);
  180.     
  181.     Writeln('You pressed gadget #', MenuID);
  182.  
  183.     CloseGui(Window_Number);
  184.     UnLoadGUI;
  185. end.
  186. --------------------------------------------------------------------------
  187.  
  188. Running the above program will popup your first window and will stay until
  189. you press a gadget or a key.
  190.  
  191. MenuID contains the number of pressed gadget.
  192.  
  193. Also note to two other new procedures: "CloseGui(Window_Number);" and 
  194. "UnLoadGui".
  195. "CloseGui()" closes a gui window in whole. "UnloadGui" unloads the gui and
  196. thus after that, further call to InitGui() will fail because there is no 
  197. gui loaded into memory unless you load another gui by "LoadGui()" command.
  198.  
  199. Now if you set value "2" instead of "1" for the WaitMode parameter in the 
  200. get_gui_id command, you will see that the window will not close until you
  201. press its close gadget or press "Esc" key.
  202.  
  203. Now I think it is enough, please read the provided examples in the archive,
  204. and if you felt that you are interested, please cntact me, I will be
  205. pleased to explain more but not now because I don't know how many ppl are
  206. interested.
  207.  
  208. *************************************************************************
  209. Requirements:
  210. ------------
  211.  It should run on any amiga but I have tested only on A1200,030,4Mfast.
  212.  
  213. Features:
  214. ---------
  215.  I could not find the like on Aminet, if you know there is a similar software
  216. please let me know.
  217.  It should run under OS 1.3+, OS2+, OS3+ and any Amiga system!
  218.  
  219. Installation:
  220. -------------
  221.  Simple, only copy the contents of "S" drawer in the archive to your "S:"
  222. and add "Vajegan_Amiga.font" to your "Fonts:". Finally copy "JVP_DEMO" itself 
  223. anywhere you like and run it. 
  224.  For the JVP unit, only copy the contents of the "unit" drawer to your
  225. pascal unit drawer. (sorry for no installation script but i think 
  226. it's simple enough;)
  227.  
  228. Acknowledgements:
  229. -----------------
  230. I wish to thank god who let me to create JVP (one of my dreams) and then
  231. My sister, Parvin for her efforts to test JVP by programming with it and
  232. also designing the JVP Manager by JVP itself!
  233.  
  234. How to use it:
  235. --------------
  236. See the compact manual above.
  237.  
  238. WARANTY:
  239. --------
  240.  RUN IT AT YOUR OWN RISK.
  241.  
  242. Document:
  243. ---------
  244.  Sorry, currently I cannot provide any full document because I need your support
  245. and idea's first to continue or not!
  246.  
  247. Why and How:
  248. ------------
  249.  This software is programmed in Kick-Pascal. I am searching for pascal programmers
  250. on the Amiga, if you are or know one please contact me or give me his/her email 
  251. address.
  252.  
  253. About Pascal:
  254. -----------
  255.  Most people say that pascal is dead or is not good for system programing, 
  256. but I don't believe that. I think pascal is better than AMOS or BASIC or 
  257. some other languges which do not seem to be dead. I think pascal is oppressed 
  258. just like the Amiga.
  259.  
  260. Copyright matters:
  261. ------------------
  262.  (c) 1997-1999, All rights reserved for Hossein Shirdashtzadeh.
  263. If you use this software to create any commercial program, you should send
  264. me a copy of it and also acknowledge that you have used JVP. You are free
  265. to spreading this archive while the contents are intact and should not be
  266. sold or purchased by any one.
  267. Future versions of "JVP" will be a "ShareWare", if you send me enough mails 
  268. for supporting it when completed, otherwise I would be sorry to quit its 
  269. developement :-(
  270. Please send me a mail that indicates your interest in JVP until 01-Apr-99.
  271.  
  272.     Email: shirdash@www.dci.co.ir                                              
  273.  
  274. Or send me by snail to the following address:
  275.  
  276.     No. 132, Kerdabad,
  277.     Jey st., Isfahan,
  278.     Iran
  279.     Zip code: 81599
  280.  
  281. or call (English or persian only!) to:
  282.  
  283.     +98-031-510155
  284.  
  285. Note that if I don't recieve enough requests to continue until 01-Apr-99 
  286. then I will assume that JVP is useless and quit it.
  287. -----------------------------------------------------------------------------
  288. My sig is:
  289. -----------------------------------------------------------------------------
  290. ______"Vajegan" is The First Intelligent PERSIAN Editor For AMIGA_________
  291.               ///                __      {---[   H.  Shirdashtzadeh   ]--{
  292.          TT  ///       *  TT    /<>\      } Proud AMIGA Pascal Programmer }
  293.   _ * _  ||   K       *_* ||    \_ /     { A 1200, 030/50 MHz, 2Meg Chip {
  294.  ((___)) ||___\\   ___//  ||  ___//       } 4M Fast ,HD 3.2G ,19.2K Modem }
  295.  \\___/__((____))_{___/___II_{___/_______{ Iran, Isfahan, Nesf-eh-Jahaun {
  296.    \X//"Every wise man is powerfull"______}____ Shirdash@www.dci.co.ir ___}
  297.  
  298.  
  299. ============================= Archive contents =============================
  300.  
  301. Original  Packed Ratio    Date     Time    Name
  302. -------- ------- ----- --------- --------  -------------
  303.     1025     222 78.3% 05-Jan-99 21:39:06 +Hello.mnu
  304.     1883     316 83.2% 05-Jan-99 21:42:06 +Hello1.mnu
  305.     2169     360 83.4% 05-Jan-99 21:44:10 +Hello2.mnu
  306.     3973     524 86.8% 05-Jan-99 21:48:32 +Requesters.mnu
  307.      264      36 86.3% 11-Dec-98 04:09:52 +Vajegan_Amiga.font
  308.     4228    1986 53.0% 19-Apr-98 03:53:30 +14
  309.    10935    4423 59.5% 02-Feb-99 02:26:44 +JVP.readme
  310.   126196   38832 69.2% 02-Feb-99 02:28:00 +JVP_DEMO
  311.     4887     436 91.0% 02-Feb-99 02:01:08 +JVP_DEMO.info
  312.      160      97 39.3% 18-Sep-98 20:20:04 +Needed_libs.txt
  313.    37677    3143 91.6% 30-Dec-98 22:30:56 +JVP_DEMO.mnu
  314.     3296    1211 63.2% 05-Jun-97 11:05:14 +HSS_ASL_Requester.o
  315.      355     230 35.2% 05-Jun-97 11:05:12 +HSS_ASL_Requester.u
  316.    15796    3869 75.5% 26-Dec-98 10:34:38 +HSS_Gadgets.o
  317.     1822     838 54.0% 26-Dec-98 10:34:38 +HSS_Gadgets.u
  318.    44880   13932 68.9% 02-Feb-99 02:37:14 +JVP_DEMO.o
  319.     6823    2891 57.6% 02-Feb-99 02:37:12 +JVP_DEMO.u
  320. -------- ------- ----- --------- --------
  321.   266369   73346 72.4% 02-Feb-99 05:38:18   17 files
  322.